package com.ruoyi.system.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.io.Serializable;
import java.util.Date;


/**
 * 挂号对象 Register
 *
 * @author ruoyi
 * @date 2023-07-04
 */


@TableName("Register")
@ApiModel(value = "Register对象", description = "挂号")
public class Register implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @ApiModelProperty("id")
    @TableId(value = "Id", type = IdType.AUTO)
    private Long Id;

    /**
     * 真实姓名
     */
    @Excel(name = "真实姓名")
    @ApiModelProperty("真实姓名")
    @TableField("RealName")
    private String RealName;

    /**
     * 性别
     */
    @ApiModelProperty("性别")
    @TableField("Gender")
    private Long Gender;

    /**
     * 身份证号
     */
    @Excel(name = "身份证号")
    @ApiModelProperty("身份证号")
    @TableField("IDnumber")
    private String IDnumber;

    /**
     * 出生日期
     */
    @ApiModelProperty("出生日期")
    @TableField("BirthDate")
    private Date BirthDate;

    /**
     * 年龄
     */
    @ApiModelProperty("年龄")
    @TableField("Age")
    private Long Age;

    /**
     * 家庭住址
     */
    @ApiModelProperty("家庭住址")
    @TableField("HomeAddress")
    private String HomeAddress;

    /**
     * 一名患者在同一医院看诊多次，根据患者是否使用同一个病历本，确定该患者的“病历号码”是否相同。
     */
    @Excel(name = "一名患者在同一医院看诊多次，根据患者是否使用同一个病历本，确定该患者的“病历号码”是否相同。")
    @ApiModelProperty("一名患者在同一医院看诊多次，根据患者是否使用同一个病历本，确定该患者的“病历号码”是否相同。")
    @TableField("CaseNumber")
    private String CaseNumber;

    /**
     * 本次看诊日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "本次看诊日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("本次看诊日期")
    @TableField("VisitDate")
    private Date VisitDate;

    /**
     * 午别
     */
    @ApiModelProperty("午别")
    @TableField("Noon")
    private Long Noon;

    /**
     * 本次挂号科室id
     */
    @Excel(name = "本次挂号科室id")
    @ApiModelProperty("本次挂号科室id")
    @TableField("DeptId")
    private Long DeptId;

    /**
     * 本次挂号医生id
     */
    @Excel(name = "本次挂号医生id")
    @ApiModelProperty("本次挂号医生id")
    @TableField("UserId")
    private Long UserId;

    /**
     * 病历本要否0-是1-否
     */
    @ApiModelProperty("病历本要否0-是1-否")
    @TableField("IsBook")
    private Long IsBook;

    /**
     * 挂号时间
     */
    @ApiModelProperty("挂号时间")
    @TableField("RegisterTime")
    private Date RegisterTime;

    /**
     * 挂号员id
     */
    @ApiModelProperty("挂号员id")
    @TableField("RegisterId")
    private Long RegisterId;

    /**
     * 看诊状态1-已挂号2-医生接诊3-看诊结束4-未到诊5-已退号
     */
    @Excel(name = "看诊状态1-已挂号2-医生接诊3-看诊结束4-未到诊5-已退号")
    @ApiModelProperty("看诊状态1-已挂号2-医生接诊3-看诊结束4-未到诊5-已退号")
    @TableField("VisitState")
    private Long VisitState;

    /**
     * 挂号级别id
     */
    @Excel(name = "挂号级别id")
    @ApiModelProperty("挂号级别id")
    @TableField("RegistLevelId")
    private Long RegistLevelId;

    @JsonProperty("Id")
    public Long getId() {
        return Id;
    }

    public void setId(Long Id) {
        this.Id = Id;
    }

    @JsonProperty("RealName")
    public String getRealName() {
        return RealName;
    }

    public void setRealName(String RealName) {
        this.RealName = RealName;
    }

    @JsonProperty("Gender")
    public Long getGender() {
        return Gender;
    }

    public void setGender(Long Gender) {
        this.Gender = Gender;
    }

    @JsonProperty("IDnumber")
    public String getIDnumber() {
        return IDnumber;
    }

    public void setIDnumber(String IDnumber) {
        this.IDnumber = IDnumber;
    }

    @JsonProperty("BirthDate")
    public Date getBirthDate() {
        return BirthDate;
    }

    public void setBirthDate(Date BirthDate) {
        this.BirthDate = BirthDate;
    }

    @JsonProperty("Age")
    public Long getAge() {
        return Age;
    }

    public void setAge(Long Age) {
        this.Age = Age;
    }

    @JsonProperty("HomeAddress")
    public String getHomeAddress() {
        return HomeAddress;
    }

    public void setHomeAddress(String HomeAddress) {
        this.HomeAddress = HomeAddress;
    }

    @JsonProperty("CaseNumber")
    public String getCaseNumber() {
        return CaseNumber;
    }

    public void setCaseNumber(String CaseNumber) {
        this.CaseNumber = CaseNumber;
    }

    @JsonProperty("VisitDate")
    public Date getVisitDate() {
        return VisitDate;
    }

    public void setVisitDate(Date VisitDate) {
        this.VisitDate = VisitDate;
    }

    @JsonProperty("Noon")
    public Long getNoon() {
        return Noon;
    }

    public void setNoon(Long Noon) {
        this.Noon = Noon;
    }

    @JsonProperty("DeptId")
    public Long getDeptId() {
        return DeptId;
    }

    public void setDeptId(Long DeptId) {
        this.DeptId = DeptId;
    }

    @JsonProperty("UserId")
    public Long getUserId() {
        return UserId;
    }

    public void setUserId(Long UserId) {
        this.UserId = UserId;
    }

    @JsonProperty("IsBook")
    public Long getIsBook() {
        return IsBook;
    }

    public void setIsBook(Long IsBook) {
        this.IsBook = IsBook;
    }

    @JsonProperty("RegisterTime")
    public Date getRegisterTime() {
        return RegisterTime;
    }

    public void setRegisterTime(Date RegisterTime) {
        this.RegisterTime = RegisterTime;
    }

    @JsonProperty("RegisterId")
    public Long getRegisterId() {
        return RegisterId;
    }

    public void setRegisterId(Long RegisterId) {
        this.RegisterId = RegisterId;
    }

    @JsonProperty("VisitState")
    public Long getVisitState() {
        return VisitState;
    }

    public void setVisitState(Long VisitState) {
        this.VisitState = VisitState;
    }

    @JsonProperty("RegistLevelId")
    public Long getRegistLevelId() {
        return RegistLevelId;
    }

    public void setRegistLevelId(Long RegistLevelId) {
        this.RegistLevelId = RegistLevelId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("Id", getId())
                .append("RealName", getRealName())
                .append("Gender", getGender())
                .append("IDnumber", getIDnumber())
                .append("BirthDate", getBirthDate())
                .append("Age", getAge())
                .append("HomeAddress", getHomeAddress())
                .append("CaseNumber", getCaseNumber())
                .append("VisitDate", getVisitDate())
                .append("Noon", getNoon())
                .append("DeptId", getDeptId())
                .append("UserId", getUserId())
                .append("IsBook", getIsBook())
                .append("RegisterTime", getRegisterTime())
                .append("RegisterId", getRegisterId())
                .append("VisitState", getVisitState())
                .append("RegistLevelId", getRegistLevelId())
                .toString();
    }
}

